Fiskeri og fangst


Fiskeri
FIX008_raw <- 
  statgl_url("FIX008", lang = language) %>%
  statgl_fetch(
    time      = px_top(1),
    nation    = "GRL",
    species   = px_all(),
    unit      = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()


FIX008 <- 
  FIX008_raw %>% 
  select(time, unit, species, value) %>% 
  filter(value != 0) %>% 
  spread(unit, value)

FIX008 %>% 
  select(-1) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = FIX008[["time"]] %>% table())
1.000 kr. Ton
2023
Andre arter 1.778 128
Bifangst 11.651 872
Blåhvilling 72.669 25.988
Hellefisk 351.010 12.430
Helleflynder 229 9
Kammuslinger 11.329 629
Kuller 9.083 665
Lodde 199.338 46.431
Makrel 285.751 29.090
Rejer 1.942.454 61.914
Rødfisk 25.201 2.576
Sej 4.778 410
Sild 45.561 7.334
Torsk 524.421 29.190


Se Statistikbankens tabel: FIX008

Fangst


FIX004_raw <- 
  statgl_url("FIX004", lang = language) %>% 
  statgl_fetch(
    time      = px_all(),
    species   = px_all(),
    unit      = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

FIX004 <- 
  FIX004_raw %>% 
  filter(
    time == max(time),
    value != 0
    ) %>% 
  spread(unit, value)

FIX004 %>% 
  select(-1) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = FIX004[["time"]] %>% table())
1.000 kr. Ton
2022
Får 1.699 47,16
Lam 16.057 292,49
Landpattedyr, uspec. 1.058 12,42
Ren 376 4,65


Se Statistikbankens tabel: FIX004

FIXBEVIS_raw <- 
  statgl_url("FIXBEVIS", lang = language) %>% 
  statgl_fetch(
    "geographic location" = px_all(),
    sex                   = px_all(),
    time                  = px_all(),
    .col_code             = TRUE
  ) %>% 
  as_tibble()

FIXBEVIS <- 
  FIXBEVIS_raw %>% 
  filter(time == max(time)) %>% 
  spread(`geographic location`, value)


FIXBEVIS %>% 
  select(-time) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = FIXBEVIS[["time"]] %>% table())
sex By Bygd
2022
Erhvervsfanger Kvinde 11 9
Erhvervsfanger Mand 1.037 966
Fritidsfanger Kvinde 947 163
Fritidsfanger Mand 3.533 478


Se Statistikbankens tabel: FIXBEVIS

Landbrug
FIXHDYR_raw <- 
  statgl_url("FIXHDYR", lang = language) %>% 
  statgl_fetch(
    species   = px_all(),
    time      = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()


FIXHDYR <-
  FIXHDYR_raw %>% 
  filter(time == max(time)) %>% 
  filter(value != "NA")



if(language == "da"){
  table <- FIXHDYR %>% rename("Antal" = value)
} else if(language == "kl"){
  table <- FIXHDYR %>% rename("Qassiuneri" = value)
} else {
  table <- FIXHDYR %>% rename("Pieces" = value)
}


table %>% 
  select(-time) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = FIXHDYR[["time"]] %>% table())
Antal
2021
Får 18.184
Tamren 3.000
Kvæg 356
Heste 146
Høns 219


Se Statistikbankens tabel: FIXHDYR

Prisindeks
FIX009_raw <- 
  statgl_url("FIX009", lang = language) %>% 
  statgl_fetch(
    time      = px_all(),
    quarter   = 4,
    species   = c(3, 7, 10),
    .col_code = TRUE
  ) %>% 
  as_tibble()



FIX009 <- 
  FIX009_raw %>% 
  filter(value != "NA") %>% 
  spread(time, value)



FIX009 %>% 
  select(-quarter) %>% 
  rename(" " = 1) %>% 
  statgl_table() %>% 
  pack_rows(index = FIX009[["quarter"]] %>% table())
2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022
Gennemsnit
Hellefisk, total 100 116 127 121,7 123 154 149 151 154 148 134 132 161
Rejer, total 100 115 145 147,5 166 202 202 196 207 196 169 166 188
Torsk, total 100 118 115 90,3 103 137 135 144 165 186 162 163 228


Se Statistikbankens tabel: FIX009

Forbrug af havets ressourcer
FIX020_raw <- 
  statgl_url("FIX020", lang = language) %>% 
  statgl_fetch(
    species = px_all(),
    form = px_all(),
    time = px_all(),
    .col_code = TRUE
  ) %>% 
  as_tibble()

FIX020 <- 
  FIX020_raw %>% 
  filter(time == max(time)) %>% 
  spread(form, value)


FIX020 %>% 
  select(-time) %>% 
  rename(" " = 1) %>% 
  statgl_table(replace_0s = TRUE) %>% 
  pack_rows(index = FIX020[["time"]] %>% table())
Fangst Kvote Rådgivning
2021
Finhval 2 19 19
Grønlandshval 0 2 2
Hvalros 127 170 189
Hvidhval 148 294 302
Isbjørn 137 156 146
Narhval 419 499 419
Pukkelhval 7 10 10
Vågehval 198 184 184


Se Statistikbankens tabel: FIX020


Sidst opdateret: 17. april 2024
LS0tDQpwYXJhbXM6DQogIGxhbmc6ICJkYSINCm91dHB1dDoNCiAgc3RhdGdsOjpzdGF0Z2xfcmVwb3J0Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUNCmVkaXRvcl9vcHRpb25zOiANCiAgY2h1bmtfb3V0cHV0X3R5cGU6IGNvbnNvbGUNCi0tLQ0KDQpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0NCg0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KA0KCWVjaG8gICAgPSBUUlVFLA0KCW1lc3NhZ2UgPSBGQUxTRSwNCgl3YXJuaW5nID0gRkFMU0UsDQoJY2xhc3Mub3V0cHV0ID0gInNjcm9sbC0xMDAiDQopDQoNCmxpYnJhcnkoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KCJzdGF0Z2wiKQ0KbGlicmFyeSgia2FibGVFeHRyYSIpDQpsaWJyYXJ5KCJsdWJyaWRhdGUiKQ0KbGlicmFyeSgieWFtbCIpDQoNCmxhbmd1YWdlICA8LSBwYXJhbXMkbGFuZw0Kb3B0aW9uICAgIDwtIHBhc3RlMCgiP2xhbmc9IiwgbGFuZ3VhZ2UsICImc2VsZWN0IikNCmxvZ28gICAgICA8LSBwYXN0ZTAoZ2V0d2QoKSwiL2FkZC9sb2dvLmdpZiIpDQp0eHQgICAgICAgPC0gcmVhZF95YW1sKHBhc3RlMChnZXR3ZCgpLCAiL2FkZC90eHQueW1sIiksIGZpbGVFbmNvZGluZyA9ICJJU08tODg1OS0xIikNCnNvdXJjZSAgICA8LSB0eHQkc291cmNlW2xhbmd1YWdlXSAlPiUgdW5saXN0KCkNCg0KeGFyaW5nYW5FeHRyYTo6dXNlX2NsaXBib2FyZCgpDQoNCmBgYA0KDQpgYGB7Y3NzLCBlY2hvID0gRkFMU0V9DQoNCi5hY2NvcmRpb24gew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTE5OTAwOw0KICBjb2xvcjogd2hpdGU7DQogIGN1cnNvcjogcG9pbnRlcjsNCiAgcGFkZGluZzogMThweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJvcmRlcjogbm9uZTsNCiAgYm9yZGVyLXJhZGl1czogNXB4Ow0KICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICBvdXRsaW5lOiBub25lOw0KICBmb250LXNpemU6IDE1cHg7DQogIHRyYW5zaXRpb246IDAuNHM7DQp9DQoNCi5hY3RpdmUsIC5hY2NvcmRpb246aG92ZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjk3MjQyOw0KfQ0KDQouYWNjb3JkaW9uOmFmdGVyIHsNCiAgY29udGVudDogJ1wwMDJCJzsNCiAgY29sb3I6ICM3Nzc7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KICBmbG9hdDogcmlnaHQ7DQogIG1hcmdpbi1sZWZ0OiA1cHg7DQp9DQoNCi5hY3RpdmU6YWZ0ZXIgew0KICBjb250ZW50OiAiXDIyMTIiOw0KfQ0KDQoucGFuZWwgew0KICBwYWRkaW5nOiAwcHggNXB4IDBweCA1cHg7DQogIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOw0KICBtYXgtaGVpZ2h0OiAwOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMnMgZWFzZS1vdXQ7DQp9DQoNCmRldGFpbHMgew0KICB3aWR0aDogMTAwJTsNCn0NCg0KZGV0YWlscyA+IHN1bW1hcnkgew0KICBwYWRkaW5nOiA0cHggMTJweDsNCiAgd2lkdGg6IDEwMCU7DQogIGJhY2tncm91bmQtY29sb3I6ICMwMDdmOTk7DQogIGJvcmRlcjogc29saWQ7DQogIGJvcmRlci1jb2xvcjogd2hpdGU7DQogIGJvcmRlci1yYWRpdXM6IDVweDsNCiAgY3Vyc29yOiBwb2ludGVyOw0KICBmb250LXNpemU6IDE1cHg7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCg0KZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFhNDFhOw0KfQ0KDQoNCi50aXRsZSB7DQogIGNvbG9yOiAjMWI1NDYzOw0KICBmb250LXNpemU6IDM2cHg7DQp9DQoNCg0KLnBlcnNvbmVyIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDQ0NTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDAuMXB4Ow0KICBwYWRkaW5nLWJvdHRvbTogMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLsO4a29ub21pIHsNCiAgYm94LXNoYWRvdzogM3B4IDNweCA0cHggYmxhY2s7DQogIGJhY2tncm91bmQ6ICMwMDdGOTk7DQogIHBhZGRpbmctcmlnaHQ6IDE1cHg7DQogIHBhZGRpbmctbGVmdDogMTZweDsNCiAgcGFkZGluZy10b3A6IDFweDsNCiAgcGFkZGluZy1ib3R0b206IDAuMXB4Ow0KICBmb250LXNpemU6IDExcHg7DQogIGNvbG9yOiB3aGl0ZTsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCg0KLnR2w6ZyZ8OlZW5kZSB7DQogIGJveC1zaGFkb3c6IDNweCAzcHggNHB4IGJsYWNrOw0KICBiYWNrZ3JvdW5kOiAjZmFhNDFhOw0KICBwYWRkaW5nLXJpZ2h0OiAxNXB4Ow0KICBwYWRkaW5nLWxlZnQ6IDE2cHg7DQogIHBhZGRpbmctdG9wOiAwLjFweDsNCiAgcGFkZGluZy1ib3R0b206IDFweDsNCiAgZm9udC1zaXplOiAxMXB4Ow0KICBjb2xvcjogd2hpdGU7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoNCi5jb250YWluZXIgew0KICB3aWR0aDogaW5oZXJpdDsNCn0NCg0KLnNjcm9sbC0xMDAgew0KICBtYXgtaGVpZ2h0OiAxMDA7DQogIG92ZXJmbG93LXk6IGF1dG87DQogIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7DQp9DQoNCg0KcHJlIHsNCiAgbWF4LWhlaWdodDogMzAwcHg7DQogIG92ZXJmbG93LXk6IGF1dG87DQp9DQoNCnByZVtjbGFzc10gew0KICBtYXgtaGVpZ2h0OiAzMDBweDsNCn0NCg0KYGBgDQoNCjxicj4NCjxicj4NCg0KPGNlbnRlcj4NCg0KLS0tDQogDQojIFtgciB0eHQkRkkkdGl0bGVbbGFuZ3VhZ2VdYF17LnRpdGxlfQ0KIA0KLS0tDQo8L2NlbnRlcj4NCg0KPGRldGFpbHM+IDxzdW1tYXJ5PiBgciB0eHQkRkkkc3ViMVtsYW5ndWFnZV1gIDwvc3VtbWFyeT4gDQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgMTogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJGSVgwMDgiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KYGBge3IgRklYMDA4fQ0KDQpGSVgwMDhfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJGSVgwMDgiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JQ0KICBzdGF0Z2xfZmV0Y2goDQogICAgdGltZSAgICAgID0gcHhfdG9wKDEpLA0KICAgIG5hdGlvbiAgICA9ICJHUkwiLA0KICAgIHNwZWNpZXMgICA9IHB4X2FsbCgpLA0KICAgIHVuaXQgICAgICA9IHB4X2FsbCgpLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCg0KRklYMDA4IDwtIA0KICBGSVgwMDhfcmF3ICU+JSANCiAgc2VsZWN0KHRpbWUsIHVuaXQsIHNwZWNpZXMsIHZhbHVlKSAlPiUgDQogIGZpbHRlcih2YWx1ZSAhPSAwKSAlPiUgDQogIHNwcmVhZCh1bml0LCB2YWx1ZSkNCg0KRklYMDA4ICU+JSANCiAgc2VsZWN0KC0xKSAlPiUgDQogIHJlbmFtZSgiICIgPSAxKSAlPiUgDQogIHN0YXRnbF90YWJsZSgpICU+JSANCiAgcGFja19yb3dzKGluZGV4ID0gRklYMDA4W1sidGltZSJdXSAlPiUgdGFibGUoKSkNCiAgDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiRklYMDA4IilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS8zZTY3ZjAyZS1mOGFmLTQ4YWQtYjA0NS1jOGQ3ODU5N2IwOTIiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KPC9kZXRhaWxzPg0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEZJJHN1YjJbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQoNCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+IGByIHBhc3RlMCgiKipUYWJlbCAyOiAqKiIsIHN0YXRnbF9tZXRhKHN0YXRnbF91cmwoIkZJWDAwNCIsIGxhbmcgPSBsYW5ndWFnZSkpWzFdJHRpdGxlKSBgIDwvYnV0dG9uPiA8ZGl2IGNsYXNzPSJwYW5lbCI+DQoNCmBgYHtyIEZJWDAwNH0NCg0KRklYMDA0X3JhdyA8LSANCiAgc3RhdGdsX3VybCgiRklYMDA0IiwgbGFuZyA9IGxhbmd1YWdlKSAlPiUgDQogIHN0YXRnbF9mZXRjaCgNCiAgICB0aW1lICAgICAgPSBweF9hbGwoKSwNCiAgICBzcGVjaWVzICAgPSBweF9hbGwoKSwNCiAgICB1bml0ICAgICAgPSBweF9hbGwoKSwNCiAgICAuY29sX2NvZGUgPSBUUlVFDQogICkgJT4lIA0KICBhc190aWJibGUoKQ0KDQpGSVgwMDQgPC0gDQogIEZJWDAwNF9yYXcgJT4lIA0KICBmaWx0ZXIoDQogICAgdGltZSA9PSBtYXgodGltZSksDQogICAgdmFsdWUgIT0gMA0KICAgICkgJT4lIA0KICBzcHJlYWQodW5pdCwgdmFsdWUpDQoNCkZJWDAwNCAlPiUgDQogIHNlbGVjdCgtMSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWDAwNFtbInRpbWUiXV0gJT4lIHRhYmxlKCkpDQoNCg0KDQoNCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJGSVgwMDQiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzUwOWFjY2VmLTIwNmMtNDI4MS04M2JkLWFhYWU5M2I3NjNkNiIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQoNCg0KPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4gYHIgcGFzdGUwKCIqKlRhYmVsIDM6ICoqIiwgc3RhdGdsX21ldGEoc3RhdGdsX3VybCgiRklYQkVWSVMiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBGSVhCRVZJU30NCg0KRklYQkVWSVNfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJGSVhCRVZJUyIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lIA0KICBzdGF0Z2xfZmV0Y2goDQogICAgImdlb2dyYXBoaWMgbG9jYXRpb24iID0gcHhfYWxsKCksDQogICAgc2V4ICAgICAgICAgICAgICAgICAgID0gcHhfYWxsKCksDQogICAgdGltZSAgICAgICAgICAgICAgICAgID0gcHhfYWxsKCksDQogICAgLmNvbF9jb2RlICAgICAgICAgICAgID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KRklYQkVWSVMgPC0gDQogIEZJWEJFVklTX3JhdyAlPiUgDQogIGZpbHRlcih0aW1lID09IG1heCh0aW1lKSkgJT4lIA0KICBzcHJlYWQoYGdlb2dyYXBoaWMgbG9jYXRpb25gLCB2YWx1ZSkNCg0KDQpGSVhCRVZJUyAlPiUgDQogIHNlbGVjdCgtdGltZSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWEJFVklTW1sidGltZSJdXSAlPiUgdGFibGUoKSkNCg0KDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiRklYQkVWSVMiKWBdKGByIHBhc3RlMCgiaHR0cHM6Ly9iYW5rLnN0YXQuZ2w6NDQzL3NxLzMzZjA3NTdhLTM0NGItNDhjMC1hZGZjLTAxMmJkMTk1MDAxMiIsIG9wdGlvbilgKXt0YXJnZXQ9Il9ibGFuayJ9DQo8L2Rpdj4gDQo8L2RldGFpbHM+IA0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEZJJHN1YjNbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgNDogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJGSVhIRFlSIiwgbGFuZyA9IGxhbmd1YWdlKSlbMV0kdGl0bGUpIGAgPC9idXR0b24+IDxkaXYgY2xhc3M9InBhbmVsIj4NCg0KYGBge3IgRklYSERZUn0NCg0KRklYSERZUl9yYXcgPC0gDQogIHN0YXRnbF91cmwoIkZJWEhEWVIiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JSANCiAgc3RhdGdsX2ZldGNoKA0KICAgIHNwZWNpZXMgICA9IHB4X2FsbCgpLA0KICAgIHRpbWUgICAgICA9IHB4X2FsbCgpLA0KICAgIC5jb2xfY29kZSA9IFRSVUUNCiAgKSAlPiUgDQogIGFzX3RpYmJsZSgpDQoNCg0KRklYSERZUiA8LQ0KICBGSVhIRFlSX3JhdyAlPiUgDQogIGZpbHRlcih0aW1lID09IG1heCh0aW1lKSkgJT4lIA0KICBmaWx0ZXIodmFsdWUgIT0gIk5BIikNCg0KDQoNCmlmKGxhbmd1YWdlID09ICJkYSIpew0KICB0YWJsZSA8LSBGSVhIRFlSICU+JSByZW5hbWUoIkFudGFsIiA9IHZhbHVlKQ0KfSBlbHNlIGlmKGxhbmd1YWdlID09ICJrbCIpew0KICB0YWJsZSA8LSBGSVhIRFlSICU+JSByZW5hbWUoIlFhc3NpdW5lcmkiID0gdmFsdWUpDQp9IGVsc2Ugew0KICB0YWJsZSA8LSBGSVhIRFlSICU+JSByZW5hbWUoIlBpZWNlcyIgPSB2YWx1ZSkNCn0NCg0KDQp0YWJsZSAlPiUgDQogIHNlbGVjdCgtdGltZSkgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWEhEWVJbWyJ0aW1lIl1dICU+JSB0YWJsZSgpKQ0KICANCg0KYGBgDQo8YnI+DQpbIVtdKGByIGxvZ29gKXt3aWR0aD00MH1gciBwYXN0ZShzb3VyY2UsICJGSVhIRFlSIilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS8yNzgxN2ViOC1jYzNiLTQwZDQtYmY2MC0zY2U4ZTgwZTBlZjMiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KPC9kZXRhaWxzPg0KDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEZJJHN1YjRbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgNTogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJGSVgwMDkiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBBUlhMRUQ0fQ0KDQpGSVgwMDlfcmF3IDwtIA0KICBzdGF0Z2xfdXJsKCJGSVgwMDkiLCBsYW5nID0gbGFuZ3VhZ2UpICU+JSANCiAgc3RhdGdsX2ZldGNoKA0KICAgIHRpbWUgICAgICA9IHB4X2FsbCgpLA0KICAgIHF1YXJ0ZXIgICA9IDQsDQogICAgc3BlY2llcyAgID0gYygzLCA3LCAxMCksDQogICAgLmNvbF9jb2RlID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KDQoNCkZJWDAwOSA8LSANCiAgRklYMDA5X3JhdyAlPiUgDQogIGZpbHRlcih2YWx1ZSAhPSAiTkEiKSAlPiUgDQogIHNwcmVhZCh0aW1lLCB2YWx1ZSkNCg0KDQoNCkZJWDAwOSAlPiUgDQogIHNlbGVjdCgtcXVhcnRlcikgJT4lIA0KICByZW5hbWUoIiAiID0gMSkgJT4lIA0KICBzdGF0Z2xfdGFibGUoKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWDAwOVtbInF1YXJ0ZXIiXV0gJT4lIHRhYmxlKCkpDQoNCg0KDQoNCg0KDQpgYGANCjxicj4NClshW10oYHIgbG9nb2Ape3dpZHRoPTQwfWByIHBhc3RlKHNvdXJjZSwgIkZJWDAwOSIpYF0oYHIgcGFzdGUwKCJodHRwczovL2Jhbmsuc3RhdC5nbDo0NDMvc3EvYjIzNzk3NmItM2E0MS00NDEyLWI4MTUtZTU0ZmMzMTBiYzg5Iiwgb3B0aW9uKWApe3RhcmdldD0iX2JsYW5rIn0NCjwvZGl2PiANCjwvZGV0YWlscz4gDQoNCjxkZXRhaWxzPiA8c3VtbWFyeT4gYHIgdHh0JEZJJHN1YjVbbGFuZ3VhZ2VdYCA8L3N1bW1hcnk+DQo8YnI+DQo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPiBgciBwYXN0ZTAoIioqVGFiZWwgNjogKioiLCBzdGF0Z2xfbWV0YShzdGF0Z2xfdXJsKCJGSVgwMjAiLCBsYW5nID0gbGFuZ3VhZ2UpKVsxXSR0aXRsZSkgYCA8L2J1dHRvbj4gPGRpdiBjbGFzcz0icGFuZWwiPg0KDQpgYGB7ciBGSVgwMjB9DQoNCkZJWDAyMF9yYXcgPC0gDQogIHN0YXRnbF91cmwoIkZJWDAyMCIsIGxhbmcgPSBsYW5ndWFnZSkgJT4lIA0KICBzdGF0Z2xfZmV0Y2goDQogICAgc3BlY2llcyA9IHB4X2FsbCgpLA0KICAgIGZvcm0gPSBweF9hbGwoKSwNCiAgICB0aW1lID0gcHhfYWxsKCksDQogICAgLmNvbF9jb2RlID0gVFJVRQ0KICApICU+JSANCiAgYXNfdGliYmxlKCkNCg0KRklYMDIwIDwtIA0KICBGSVgwMjBfcmF3ICU+JSANCiAgZmlsdGVyKHRpbWUgPT0gbWF4KHRpbWUpKSAlPiUgDQogIHNwcmVhZChmb3JtLCB2YWx1ZSkNCg0KDQpGSVgwMjAgJT4lIA0KICBzZWxlY3QoLXRpbWUpICU+JSANCiAgcmVuYW1lKCIgIiA9IDEpICU+JSANCiAgc3RhdGdsX3RhYmxlKHJlcGxhY2VfMHMgPSBUUlVFKSAlPiUgDQogIHBhY2tfcm93cyhpbmRleCA9IEZJWDAyMFtbInRpbWUiXV0gJT4lIHRhYmxlKCkpDQoNCg0KDQoNCmBgYA0KPGJyPg0KWyFbXShgciBsb2dvYCl7d2lkdGg9NDB9YHIgcGFzdGUoc291cmNlLCAiRklYMDIwIilgXShgciBwYXN0ZTAoImh0dHBzOi8vYmFuay5zdGF0LmdsOjQ0My9zcS9lNjQzZWE5Ny1mMWEzLTQ2ODctOTY0OC00MTNiZmFkNTQwZDgiLCBvcHRpb24pYCl7dGFyZ2V0PSJfYmxhbmsifQ0KPC9kaXY+IA0KPC9kZXRhaWxzPiANCg0KDQoNCjxociBzdHlsZT0iYm9yZGVyOjFweCByaWRnZSBsaWdodGdyYXkiPiA8L2hyPg0KPGNlbnRlcj4gPHNwYW4gc3R5bGU9J2NvbG9yOiNEM0QzRDM7IGZvbnQtc2l6ZTo5MCU7Jz4gYHIgcGFzdGUodHh0JHVwZGF0ZVtsYW5ndWFnZV0sIGZvcm1hdChTeXMuRGF0ZSgpLCAiJWQuICVCICVZIikpYCA8L3NwYW4+IDwvY2VudGVyPg0KDQoNCg0KDQo8c2NyaXB0Pg0KdmFyIGFjYyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImFjY29yZGlvbiIpOw0KdmFyIGk7DQoNCmZvciAoaSA9IDA7IGkgPCBhY2MubGVuZ3RoOyBpKyspIHsNCiAgYWNjW2ldLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24oKSB7DQogICAgdGhpcy5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiKTsNCiAgICB2YXIgcGFuZWwgPSB0aGlzLm5leHRFbGVtZW50U2libGluZzsNCiAgICBpZiAocGFuZWwuc3R5bGUubWF4SGVpZ2h0KSB7DQogICAgICBwYW5lbC5zdHlsZS5tYXhIZWlnaHQgPSBudWxsOw0KICAgIH0gZWxzZSB7DQogICAgICBwYW5lbC5zdHlsZS5tYXhIZWlnaHQgPSBwYW5lbC5zY3JvbGxIZWlnaHQgKyAicHgiOw0KICAgIH0gDQogIH0pOw0KfQ0KPC9zY3JpcHQ+DQoNCg0K